@rsc-labs/medusa-store-analytics-v2
Version:
Get analytics data about your store
41 lines • 3.54 kB
JavaScript
;
/*
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
*
* MIT License
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.GET = void 0;
const utils_1 = require("@medusajs/utils");
const store_analytics_1 = require("../../../../modules/store-analytics");
const GET = async (req, res) => {
const kind = req.params.kind;
const dateRangeFrom = req.query.dateRangeFrom;
const dateRangeTo = req.query.dateRangeTo;
const orderStatusesFromQuery = req.query.orderStatuses;
const orderStatuses = orderStatusesFromQuery !== undefined ?
orderStatusesFromQuery.map(status => utils_1.OrderStatus[status.toUpperCase()]).filter(orderStatus => orderStatus !== undefined) : [];
let result;
const storeAnalyticsModuleService = req.scope.resolve(store_analytics_1.STORE_ANALYTICS_MODULE);
try {
switch (kind) {
case 'discounts-by-count':
result = await storeAnalyticsModuleService.getMarketingTopDiscounts(orderStatuses, dateRangeFrom ? new Date(Number(dateRangeFrom)) : undefined, dateRangeTo ? new Date(Number(dateRangeTo)) : undefined);
break;
}
res.status(200).json({
analytics: result
});
}
catch (error) {
throw new utils_1.MedusaError(utils_1.MedusaErrorTypes.DB_ERROR, error.message);
}
};
exports.GET = GET;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL21hcmtldGluZy1hbmFseXRpY3MvW2tpbmRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7OztHQVVHOzs7QUFNSCwyQ0FBNEU7QUFDNUUseUVBQTZFO0FBR3RFLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBa0IsRUFDbEIsR0FBbUIsRUFDbkIsRUFBRTtJQUVGLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQzdCLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO0lBQzlDLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO0lBQzFDLE1BQU0sc0JBQXNCLEdBQWEsR0FBRyxDQUFDLEtBQUssQ0FBQyxhQUF5QixDQUFDO0lBRTdFLE1BQU0sYUFBYSxHQUFrQixzQkFBc0IsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUN6RSxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxtQkFBVyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsV0FBVyxLQUFLLFNBQVMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFL0gsSUFBSSxNQUFNLENBQUM7SUFDWCxNQUFNLDJCQUEyQixHQUFnQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyx3Q0FBc0IsQ0FBQyxDQUFBO0lBRTFHLElBQUksQ0FBQztRQUNILFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDYixLQUFLLG9CQUFvQjtnQkFDdkIsTUFBTSxHQUFHLE1BQU0sMkJBQTJCLENBQUMsd0JBQXdCLENBQ2pFLGFBQWEsRUFDYixhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQzNELFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDeEQsQ0FBQztnQkFDRixNQUFNO1FBQ1YsQ0FBQztRQUNELEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ25CLFNBQVMsRUFBRSxNQUFNO1NBQ2xCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLG1CQUFXLENBQ25CLHdCQUFnQixDQUFDLFFBQVEsRUFDekIsS0FBSyxDQUFDLE9BQU8sQ0FDZCxDQUFBO0lBQ0gsQ0FBQztBQUNILENBQUMsQ0FBQTtBQW5DWSxRQUFBLEdBQUcsT0FtQ2YifQ==